https://leetcode.cn/problems/single-number-iii/description/?envType=list&envId=8peMBu0O
//class Solution {
//public:
//    vector<int> singleNumber(vector<int>& nums) {
//
//        int tmp = 0;
//        for (auto& x : nums) {
//            tmp ^= x;
//        }
//
//        int a = 0, b = 0;
//        int xtmp = (tmp == INT_MIN ? tmp : tmp & (-tmp));
//        for (int& x : nums) {
//
//            if (x & xtmp) {
//                a ^= x;
//            }
//            else {
//                b ^= x;
//            }
//
//        }
//
//
//        return { a,b };
//    }
//};


https://leetcode.cn/problems/single-number/description/?envType=list&envId=8peMBu0O
//class Solution {
//public:
//    int singleNumber(vector<int>& nums) {
//
//        int tmp = 0;
//        for (int i = 0; i < nums.size(); i++) {
//            tmp ^= nums[i];
//        }
//        return tmp;
//
//    }
//};


https://leetcode.cn/problems/hamming-distance/description/?envType=list&envId=8peMBu0O
//class Solution {
//public:
//    int hammingDistance(int x, int y) {
//
//        int ret = (x ^ y);
//        int sum = 0;
//
//        while (ret) {
//            sum++;
//            ret &= (ret - 1);
//        }
//
//        return sum;
//    }
//};


https://leetcode.cn/problems/counting-bits/description/?envType=list&envId=8peMBu0O
//class Solution {
//public:
//    vector<int> countBits(int n) {
//
//        vector<int> num;
//        for (int i = 0, sum = 0; i <= n; i++, sum = 0) {
//            int q = i;
//            while (q) {
//                sum++;
//                q &= (q - 1);
//            }
//            num.push_back(sum);
//        }
//
//        return num;
//    }
//};